package cn.demoncat.util.lang.entity.report;

import java.util.ArrayList;
import java.util.Collection;
import java.util.List;

import cn.demoncat.util.lang.entity.CommonComparator;

/**
 * 报表数据 - 分时图表
 * 
 * 说明：指定时间内的数据，如2020-12月表 = 1日~31日
 * 
 * @author 延晓磊
 *
 * @since 2020年7月9日
 */
public class ReportDataTime extends ReportData{

	/**
	 * 时间分组
	 * 
	 * 时：0~23
	 * 日：1~31
	 * 月：1~12
	 * 年：*
	 */
	private final List<Integer> category = new ArrayList<>();
	
	/**
	 * 时间分组
	 * <br/>
	 * <br/>
	 * 统计时段，非完整时间。如统计2020-07-09日的时表，则分组为时[0~24]
	 * 
	 * @return
	 * 
	 * @author 延晓磊
	 *
	 * @since 2020年7月9日
	 */
	public List<Integer> getCategory() {
		return category;
	}
	
	/**
	 * 添加时间分组
	 * 
	 * @param categorys
	 * @return
	 * 
	 * @author 延晓磊
	 *
	 * @since 2020年7月9日
	 */
	public List<Integer> addCategory(Collection<Integer> categorys){
		// 添加
		category.addAll(categorys);
		// 排序
		if (category.size() > 1) {
			category.sort(CommonComparator.get());
		}
		return category;
	}

}
